home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / ietf / urn / urn-archives / urn-ietf.archive.9703 / 000086_owner-urn-ietf _Fri Mar 28 18:51:39 1997.msg < prev    next >
Internet Message Format  |  1997-04-01  |  13KB

  1. Received: (from daemon@localhost)
  2.     by services.bunyip.com (8.8.5/8.8.5) id SAA06009
  3.     for urn-ietf-out; Fri, 28 Mar 1997 18:51:39 -0500 (EST)
  4. Received: from mocha.bunyip.com (mocha.Bunyip.Com [192.197.208.1])
  5.     by services.bunyip.com (8.8.5/8.8.5) with SMTP id SAA06004
  6.     for <urn-ietf@services.bunyip.com>; Fri, 28 Mar 1997 18:51:35 -0500 (EST)
  7. Received: from acl.lanl.gov by mocha.bunyip.com with SMTP (5.65a/IDA-1.4.2b/CC-Guru-2b)
  8.         id AA19138  (mail destined for urn-ietf@services.bunyip.com); Fri, 28 Mar 97 18:51:32 -0500
  9. Received: from montana (montana.acl.lanl.gov [128.165.147.143]) by acl.lanl.gov (8.7.3/8.7.3) with SMTP id QAA11451; Fri, 28 Mar 1997 16:51:28 -0700 (MST)
  10. Message-Id: <3.0.32.19970328164526.0099d100@acl.lanl.gov>
  11. X-Sender: rdaniel@acl.lanl.gov
  12. X-Mailer: Windows Eudora Pro Version 3.0 (32)
  13. Date: Fri, 28 Mar 1997 16:50:20 -0700
  14. To: Dan Connolly <connolly@w3.org>
  15. From: "Ron Daniel, Jr." <rdaniel@acl.lanl.gov>
  16. Subject: Re: [URN] resend of draft-urn-resolution-services-01.txt
  17. Cc: urn-ietf@bunyip.com
  18. Mime-Version: 1.0
  19. Content-Type: text/plain; charset="us-ascii"
  20. Sender: owner-urn-ietf@Bunyip.Com
  21. Precedence: bulk
  22. Reply-To: "Ron Daniel, Jr." <rdaniel@acl.lanl.gov>
  23. Errors-To: owner-urn-ietf@Bunyip.Com
  24.  
  25. At 04:06 PM 3/28/97 -0600, Dan Connolly wrote:
  26. >Ron Daniel, Jr. wrote:
  27.  
  28.  
  29. >there seem to be
  30. >five sorts of things: names (N), locations (L), identifers (I),
  31. >resource instances (R) and URCs (C). It seems like there are only
  32. >finitely many interesting permutations. 
  33.  
  34. Sure, but this argument rests on two assumptions:
  35.   1) There are only five things
  36.   2) only some permutations are interesting
  37.  
  38. The second one is not crucial, its only a compactness sort of thing.
  39. I'm not really comfortable with the idea of stating that our information
  40. universe is composed out of 5 elements.  Maybe it is, but I suspect not.
  41. Just as N and L are specializations of I, we could look for specializations
  42. of R (versions, translations,... spring to mind). Do we need to distinguish
  43. them? If we set extension rules we can argue that later and cope with the
  44. stuff for our immediate needs now.
  45.  
  46. >Say... that reminds me: what about C2R, C2I, C2N, C2L?
  47.  
  48. Yeah, they would be useful, but I am not ready to propose
  49. something on how to handle all the problems of dealing with
  50. format and schema differences of the incoming URC, specifying
  51. the format and schema for the outgoing URC (or type for
  52. resources, etc.), and the real bear of the query language
  53. that the '2' expands into. I wanted to get the quick wins
  54. out of this and deal with the harder stuff some other time.
  55.  
  56.  
  57. >If the list is extensible, it's extremely important to
  58. >specify what to do when you find an unknown operation and in
  59. >general, how new operations get deployed. I'll
  60. >have to look at the NAPTR draft etc. to be sure this
  61. >is covered.
  62.  
  63. NAPTR can handle this 2 ways. I prefer the first. Servers advertise
  64. the services they can provide, clients know the ones they can support.
  65. So, there is no backward incompatability problem with servers offering
  66. new services, clients know they can't handle them and don't ask for them.
  67. (We may need to mandate that clients MUST NOT try to deal with unknown
  68. services, it was probably an unspoken assumption of mine). The only
  69. problem is if we don't have a controlled list of the services, in that
  70. case we could have incompatible interpretations of the same label. Michael's
  71. document probably needs to be augmented with an IANA list.
  72.  
  73. If this is not satisfactory, then the second way is to use a new flag
  74. to indicate the presence of extended service definitions. The NAPTR spec
  75. states that clients MUST ignore records with an unknown flag. However,
  76. we could burn a lot of flags if the extensions come in dribs and drabs.
  77.  
  78.  
  79. >> >Note that N and L are both URIs. Hence my second point:
  80. >> >the distinction between URNs and URLs isn't necessary.
  81. >> 
  82. >> Yes and no. Both are URIs, so an I2I method would suffice at that level.
  83. >> However, this group distinguishes between names and addresses.
  84. >
  85. >Yes, there are very useful _extrinsic_ distinctions between names
  86. >and addresses: external to the identifier, there might be
  87. >information that suggests it can be resolved or not, etc. I just
  88. >object to a separation of the space of URL schemes and
  89. >the space of URN schemes and to the separation of URL syntax
  90. >from URN syntax.
  91.  
  92. I'll take that up in a seperate message. For now I will assume we
  93. continue to distinguish between the two, and we want a syntactic
  94. handle (urn:) to aid in the quick discrimination of them.
  95.  
  96. >> If I have
  97. >> a name and want to get an address, we need an N2L operation.
  98. >
  99. >I don't dispute the utility of a N2L operation: I just don't
  100. >see any reason to restrict the input to URNs.
  101.  
  102. OK, here I think we can agree. I don't see a lot of useful difference
  103. between L2L and N2L, so the operations of I2L, I2N, I2C, I2R (and their
  104. plural forms) may be sufficient. We can also have I2I, I2Is for when
  105. we don't need to maintain the distinction on the output.
  106.  
  107. >> >> 4.2 N2Ls (URN to URLs)
  108. >> >> This operation is used to map a single URN to 0 or more URLs.
  109. >> >
  110. >> >
  111. >> >This one becomes:
  112. >> >       Given a URI N, Return a set of URIs L[i] such that there
  113. >> >       is a link from N to L[i] of type "N2L" for each i.
  114. >> 
  115. >> I'm sorry Dan, but I really don't see the benefit of your suggested
  116. >> rewordings.
  117. >
  118. >It's mostly a matter of taste.
  119.  
  120. Actually I should have revisited my remark after I had gotten further into
  121. your reply. When you suggest the generic relationship thing then the
  122. notation offers some benefit.
  123.  
  124. >But there is a little substance
  125. >to it: I expect this document to specify not just black-box
  126. >operations, but also some properties of those operations that
  127. >relate the operations to each other.
  128.  
  129. But the notation doesn't state those properties, it only states
  130. that a link of type "N2L" or whatever exists. The description of
  131. properties still has to be supplied. We can look int providing
  132. such descrption of properties in the revision of the draft.
  133.  
  134. >For example, there seems to be, latent in the services-01 draft,
  135. >a relation
  136. >    N2L <: URI x URI
  137. >that relates the N2L and the N2Ls operations: if computing
  138. >N2L(n) yields l, then the pair (n,l) is in the N2L relation;
  139. >meanwhile, if N2Ls(n) yields l[i], then (n, l[i]) is in the N2L
  140. >relation for each i. This connection is implied by the naming
  141. >etc., but not specified explicitly anywhere.
  142.  
  143. Agreed. Such notation is not my normal mode of expression, but
  144. the next version of the draft should state this one way or another.
  145.  
  146. >RFC1630 is informational, not standards track. I suggest you
  147. >cite either the url syntax draft, or RFC1808, which I expect
  148. >will be updated/replaced by the ultimate url syntax draft.
  149.  
  150. The problem is that RFC 1630 sets the model of URIs being the
  151. superset of URNs and URLs. The other documents you specify
  152. standardize URLs. I am unaware of a standards-track URI
  153. specification. 
  154.  
  155. [On the subject of metadata schemas, formats, ...]
  156.  
  157.  
  158. >> THTTP says that people should use format negotiation if they want
  159. >> a partiular format. We are not defining the one true URC format.
  160. >
  161. >Sure... but the MIME type of the result isn't the same as
  162. >the schema.
  163.  
  164. Whoops. Of course. My error.
  165.  
  166. > Lots of metadata schemas can be represented
  167. >as text/sgml. Or do you intend to fold the mime-type axis
  168. >and the schema axis into one?
  169.  
  170. Certainly not. Somewhere there is a statement that IMTs are not to
  171. represent schemas.
  172.  
  173. I had been assuming that the URC return format would indicate the
  174. schema it followed. If we need to extend the model so that the
  175. client can ask the server to provide the URC in a particular
  176. schema, I think we need some serious discussion on that topic.
  177.  
  178. >And about PICS... it specifies ways to encode metadata
  179. >requests into HTTP GET operations. Seems to me THTTP is
  180. >doing the same thing. If they can do it the same way,
  181. >that seems like a Good Thing. I still haven't gotten
  182. >around to THTTP yet.
  183.  
  184. and I haven't gotten around to catching up on the latest stuff
  185. with PICS. However, I doubt they are the same ways. THTTP is
  186. not intended to be standards-track. A real standards-track
  187. document on how to use HTTP to talk with a resolver should
  188. probably make I2L, I2C, ... into new methods. THTTP is a
  189. trivial way to do it with GET. It lets us do experiments now
  190. with NAPTR, which is a more serious proposal. (It is also
  191. targeted for experimental, but for different reasons).
  192.  
  193.  
  194. >> >Something that I think should be specified: is L2N expected
  195. >> >to be the inverse of N2L?
  196. >> 
  197. >> Nope. If a resource has multiple URNs and URLs, I don't think we should
  198. >> mandate any particular behavior on the part of resolvers to make stronger
  199. >> mappings between the identifiers.
  200. >
  201. >I said 'expected,' not mandated. You really mean that there's
  202. >no relationship whatsoever between the N2L and the L2N operations?
  203.  
  204. None that I wish to specify.
  205.  
  206. I expect resolvers to do a variety of things with N2L. They may
  207. try to return the "closest" URL to the client, or one at random,
  208. etc. Given that a resolver has a set of URNs and URLs for a single
  209. resource, I don't want to require that n = L2N(N2L(n)), and I
  210. don't particularly want to suggest it as expected behavior. In
  211. fact, I would be more inclined to warn client implementors that
  212. they should not assume it.
  213.  
  214.  
  215. >> >> 4.8 L2Ls (URL to URLs)
  216. >> >> This operation is used to discover URLs that are considered equal to
  217. each
  218. >> >> other.
  219. >> >
  220. >> >This one is clearly supposed to be an equivalence relation.
  221. >> >If N2N is also an equivalence relation, then I don't understand
  222. >> >the distiction.
  223. >> 
  224. >> See earlier discussions on names vs. addresses.
  225. >
  226. >I don't see that it applies. Could you elaborate?
  227.  
  228.  
  229. Its just a simple permutation of N and L. We added the I2L and other
  230. operations with I at the last minute. With your recent suggestions
  231. we will probably use I2N and I2L instead of N2N, N2L, N2I, L2L, N2N, L2I.
  232.  
  233.  
  234. >If there's an I2I operation, why is L2L necessary? why is
  235. >N2N necessary?
  236.  
  237.  
  238. Because we want control over the output forms of the I. Sometimes
  239. we want an address and sometimes we want a name. Distinguishing the
  240. input types doesn't seem so important since they can be self-describing
  241. because of the URN prefix.
  242.  
  243. > It seems clear to me that if n is a URN
  244. >and l is a URL, then you can be certain that I2I(n) won't
  245. >return l and vice versa.
  246.  
  247. That is not at all clear to me. In fact, the converse is what seems
  248. clear to me. If we say "map this I to another I", and we say that
  249. Ns and Ls are both instances of I, then we should expect either as
  250. a result.
  251.  
  252. >The relationship between two URLs that are equivalent 
  253. >is identical to the relationship between two URNs that
  254. >are equivalent. What motivates three different operations
  255. >to deal with this one relationship?
  256.  
  257. I currently think that I2L, I2N, and I2I are the minimal set if
  258. we want to maintain the axiomatic distinction between Ns and Ls.
  259. What do you think now?
  260.  
  261. >> >       S2D(URI S, URI T) -> set of URIs D[i]
  262. >> 
  263. >> Hmmm, sounds pretty good. The first question that comes up is that
  264. >> sometimes we are happy mapping from one URI to another, and other times
  265. >> we want to get back a specific type of URI (URN or URL). So, we need to
  266. >> modify your earlier definition and this suggestion for the generic
  267. >> operation.
  268. >
  269. >I'll buy that; so you might call them IT2I, IT2L, and IT2I.
  270. >(for identifery/type to identifer, ...).
  271.  
  272. We may want to take this idea further in other messages, but not this one.
  273. Its already too long.
  274.  
  275.  
  276. >> >> 4.10 I2I (URI to URI):
  277. [Dan states he thinks it is unneeded and wants to...]
  278. >try yet another argument:
  279. >
  280. >Suppose we had relations:
  281. >    N2N <: URN x URN
  282. >and
  283. >    L2L <: URL x URL
  284. >
  285. >If the intersection of URNs and URLs is empty (fair assumption?)
  286. >then N2N and L2L don't intersect. So one relation I2I that
  287. >is the union of L2L and N2N holds all the information from
  288. >both relations without creating any ambiguity.
  289.  
  290. OK, here's the gap in our models. You seem to assume that URNs
  291. and URLs are partitioned to such an extent that providing a URN
  292. (or URL) as an input to I2I automatically restricts the output of
  293. the operation to the input type. I don't. I assume that
  294. a resolver has a set of URNs and a set of URLs, but that sometimes
  295. we won't care about keeping them distinct. When we don't care,
  296. we say "I" and either a URL or URN is fine.
  297.  
  298. >> >> 4.11 I=I (Is URI equal to URI):
  299. >But again: the relationship between I=I and I2I should be
  300. >specified, but isn't. For example, if I2I(x) yields y, then
  301. >I would expect I=I(x,y) to return true, right?
  302.  
  303. Yes. We need to add these descriptions.
  304.  
  305.  
  306.  
  307.  
  308. Ron Daniel Jr.              voice:+1 505 665 0597
  309. Advanced Computing Lab        fax:+1 505 665 4939
  310. MS B287                     email:rdaniel@lanl.gov
  311. Los Alamos National Lab      http://www.acl.lanl.gov/~rdaniel
  312. Los Alamos, NM, USA, 87545